package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
import java.util.List;

/**
 * 报告与备件的关系 （包括服务报告和电话解决报告）对象 st_report_port
 * 
 * @author ruoyi
 * @date 2020-03-03
 */
@ApiModel(value="StReportPort",description="服务报告和电话解决报告备件信息") // 用来描述封装的参数对象与返回的参数对象
@JsonInclude(JsonInclude.Include.NON_NULL)
public class StReportPort extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty(value = "主键ID",name="id",required = false,dataType="int",example="主键ID", hidden = true)
    private Long id;

    /** Service号 */
    @Excel(name = "Service号")
    @ApiModelProperty(value = "Service号",name="serviceNo",required = true,dataType="String",example="Service号")
    private String serviceNo;

    /** 工程师ID */
    @Excel(name = "工程师ID")
    @ApiModelProperty(value = "工程师ID",name="enginnerId",required = true,dataType="int",example="工程师ID")
    private Long enginnerId;

    /** 备件类型 1 服务报告 2 电话解决报告 3 Error Report 4 Hot Account Report */
    @Excel(name = "备件类型 1 服务报告 2 电话解决报告 3 Error Report 4 Hot Account Report")
    @ApiModelProperty(value = "备件类型 1 服务报告 2 电话解决报告 3 Error Report 4 Hot Account Report",name="portType",required = true,dataType="String",example="备件类型 1 服务报告 2 电话解决报告 3 Error Report 4 Hot Account Report")
    private String portType;

    /** 备件号 */
    @Excel(name = "备件号")
    @ApiModelProperty(value = "备件号",name="partNumber",required = true,dataType="String",example="备件号")
    private String partNumber;

    /** 借贷单号 */
    @Excel(name = "借贷单号")
    @ApiModelProperty(value = "借贷单号",name="loanNumber",required = false,dataType="String",example="借贷单号")
    private String loanNumber;

    /** 备件序列号 */
    @Excel(name = "备件序列号")
    @ApiModelProperty(value = "备件序列号",name="partSerialNumber",required = true,dataType="String",example="备件序列号")
    private String partSerialNumber;

    /** 备件名称 */
    @Excel(name = "备件名称")
    @ApiModelProperty(value = "备件名称",name="partName",required = true,dataType="String",example="备件名称")
    private String partName;

    /** QTY数量 */
    @Excel(name = "QTY数量")
    @ApiModelProperty(value = "QTY数量",name="qtyCount",required = true,dataType="String",example="QTY数量")
    private Long qtyCount;

    /** Price单价 */
    @Excel(name = "Price单价")
    @ApiModelProperty(value = "Price单价",name="price",required = true,dataType="String",example="Price单价")
    private Double price;

    /** Price总价 */
    @Excel(name = "Price总价")
    @ApiModelProperty(value = "Price总价",name="totalprice",required = true,dataType="String",example="Price总价")
    private Double totalprice;

    /** 更换类型 */
    @Excel(name = "更换类型")
    @ApiModelProperty(value = "更换类型",name="partType",required = false,dataType="String",example="更换类型")
    private String partType;

    /** 坏件序列号 */
    @Excel(name = "坏件序列号")
    @ApiModelProperty(value = "坏件序列号",name="damageSerialNumber",required = false,dataType="String",example="坏件序列号")
    private String damageSerialNumber;

    /** 坏件图片 */
    @Excel(name = "坏件图片")
    @ApiModelProperty(value = "坏件图片（附件表st_annex主键id 逗号分割）",name="damagePic",required = false,dataType="String",example="坏件图片")
    private String damagePic;

    /** 坏件是否还库 */
    @Excel(name = "坏件是否还库")
    @ApiModelProperty(value = "坏件是否还库",name="isOutWarranty",required = false,dataType="String",example="坏件是否还库")
    private String isOutWarranty;

    /** 备件状态变更说明 */
    @Excel(name = "备件状态变更说明")
    @ApiModelProperty(value = "备件状态变更说明",name="statusChange",required = false,dataType="String",example="备件状态变更说明")
    private String statusChange;

    /** 备件状态变更备注 */
    @Excel(name = "备件状态变更备注")
    @ApiModelProperty(value = "备件状态变更备注",name="changeRemark",required = false,dataType="String",example="备件状态变更备注")
    private String changeRemark;

    /** 备件编号 */
    @Excel(name = "备件编号")
    @ApiModelProperty(value = "备件编号",name="pid",required = true,dataType="String",example="备件编号")
    private String pid;

    /** 是否同步到CC，0未同步、1已同步 */
    @Excel(name = "是否同步到CC，0未同步、1已同步")
    @ApiModelProperty(value = "是否同步到CC，0未同步、1已同步",name="syncFlag",required = false,dataType="String",example="是否同步到CC，0未同步、1已同步",hidden = true)
    private String syncFlag;

    /** 同步到CC时间 */
    @Excel(name = "同步到CC时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "同步到CC时间",name="syncTime",required = false,dataType="String",example="同步到CC时间",hidden = true)
    private Date syncTime;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）",name="delFlag",required = false,dataType="String",example="删除标志（0代表存在 2代表删除）",hidden = true)
    private String delFlag;

    /** 报告表主键 */
    @Excel(name = "报告表主键", readConverterExp = "s=t_service_report")
    @ApiModelProperty(value = "报告表主键",name="reportId",required = false,dataType="String",example="报告表主键")
    private Long reportId;

    /** 报告辅助id */
    @ApiModelProperty(value = "报告辅助id",name="helpId",required = true,dataType="String",example="报告辅助id")
    private String helpId;

    /** 附件辅助id */
    @ApiModelProperty(value = "附件辅助id",name="annexHelpId",required = true,dataType="String",example="附件辅助id")
    private String annexHelpId;

    /** 备件收货地址 */
    @ApiModelProperty(value = "备件收货地址",name="address",required = true,dataType="String",example="备件收货地址")
    private String address;

    /** 保存/提交标识  1表示 保存 2标识 已经提交*/
    @ApiModelProperty(value = "提交标识",name="ssflag",required = true,dataType="String",example="备件收货地址")
    private String ssflag;


    private List<Annex> annexList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setServiceNo(String serviceNo) 
    {
        this.serviceNo = serviceNo;
    }

    public String getServiceNo() 
    {
        return serviceNo;
    }
    public void setEnginnerId(Long enginnerId) 
    {
        this.enginnerId = enginnerId;
    }

    public Long getEnginnerId() 
    {
        return enginnerId;
    }
    public void setPortType(String portType) 
    {
        this.portType = portType;
    }

    public String getPortType() 
    {
        return portType;
    }
    public void setPartNumber(String partNumber) 
    {
        this.partNumber = partNumber;
    }

    public String getPartNumber() 
    {
        return partNumber;
    }
    public void setLoanNumber(String loanNumber) 
    {
        this.loanNumber = loanNumber;
    }

    public String getLoanNumber() 
    {
        return loanNumber;
    }
    public void setPartSerialNumber(String partSerialNumber) 
    {
        this.partSerialNumber = partSerialNumber;
    }

    public String getPartSerialNumber() 
    {
        return partSerialNumber;
    }
    public void setPartName(String partName) 
    {
        this.partName = partName;
    }

    public String getPartName() 
    {
        return partName;
    }
    public void setQtyCount(Long qtyCount) 
    {
        this.qtyCount = qtyCount;
    }

    public Long getQtyCount() 
    {
        return qtyCount;
    }
    public void setPrice(Double price) 
    {
        this.price = price;
    }

    public Double getPrice() 
    {
        return price;
    }
    public void setTotalprice(Double totalprice) 
    {
        this.totalprice = totalprice;
    }

    public Double getTotalprice() 
    {
        return totalprice;
    }
    public void setPartType(String partType) 
    {
        this.partType = partType;
    }

    public String getPartType() 
    {
        return partType;
    }
    public void setDamageSerialNumber(String damageSerialNumber) 
    {
        this.damageSerialNumber = damageSerialNumber;
    }

    public String getDamageSerialNumber() 
    {
        return damageSerialNumber;
    }
    public void setDamagePic(String damagePic) 
    {
        this.damagePic = damagePic;
    }

    public String getDamagePic() 
    {
        return damagePic;
    }
    public void setIsOutWarranty(String isOutWarranty) 
    {
        this.isOutWarranty = isOutWarranty;
    }

    public String getIsOutWarranty() 
    {
        return isOutWarranty;
    }
    public void setStatusChange(String statusChange) 
    {
        this.statusChange = statusChange;
    }

    public String getStatusChange() 
    {
        return statusChange;
    }
    public void setChangeRemark(String changeRemark) 
    {
        this.changeRemark = changeRemark;
    }

    public String getChangeRemark() 
    {
        return changeRemark;
    }
    public void setPid(String pid) 
    {
        this.pid = pid;
    }

    public String getPid() 
    {
        return pid;
    }
    public void setSyncFlag(String syncFlag) 
    {
        this.syncFlag = syncFlag;
    }

    public String getSyncFlag() 
    {
        return syncFlag;
    }
    public void setSyncTime(Date syncTime) 
    {
        this.syncTime = syncTime;
    }

    public Date getSyncTime() 
    {
        return syncTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setReportId(Long reportId) 
    {
        this.reportId = reportId;
    }

    public Long getReportId() 
    {
        return reportId;
    }

    public String getHelpId() {
        return helpId;
    }

    public void setHelpId(String helpId) {
        this.helpId = helpId;
    }

    public String getAnnexHelpId() {
        return annexHelpId;
    }

    public void setAnnexHelpId(String annexHelpId) {
        this.annexHelpId = annexHelpId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getSsflag() {
        return ssflag;
    }

    public void setSsflag(String ssflag) {
        this.ssflag = ssflag;
    }

    public List<Annex> getAnnexList() {
        return annexList;
    }

    public void setAnnexList(List<Annex> annexList) {
        this.annexList = annexList;
    }

    @Override
    public String toString() {
        return "StReportPort{" +
                "id=" + id +
                ", serviceNo='" + serviceNo + '\'' +
                ", enginnerId=" + enginnerId +
                ", portType='" + portType + '\'' +
                ", partNumber='" + partNumber + '\'' +
                ", loanNumber='" + loanNumber + '\'' +
                ", partSerialNumber='" + partSerialNumber + '\'' +
                ", partName='" + partName + '\'' +
                ", qtyCount=" + qtyCount +
                ", price=" + price +
                ", totalprice=" + totalprice +
                ", partType='" + partType + '\'' +
                ", damageSerialNumber='" + damageSerialNumber + '\'' +
                ", damagePic='" + damagePic + '\'' +
                ", isOutWarranty='" + isOutWarranty + '\'' +
                ", statusChange='" + statusChange + '\'' +
                ", changeRemark='" + changeRemark + '\'' +
                ", pid='" + pid + '\'' +
                ", syncFlag='" + syncFlag + '\'' +
                ", syncTime=" + syncTime +
                ", delFlag='" + delFlag + '\'' +
                ", reportId=" + reportId +
                ", helpId='" + helpId + '\'' +
                ", annexHelpId='" + annexHelpId + '\'' +
                ", address='" + address + '\'' +
                ", ssflag='" + ssflag + '\'' +
                ", annexList=" + annexList +
                '}';
    }
}
